﻿namespace CKQDJK {
	using System;
	using SuperORM.Attributes;
	using System.ComponentModel;
	
	
	/// <summary>地环保证金</summary>
	[Object("地环保证金", "CKQDJK", "地环保证金")]
	[Browsable(true)]
	[DisplayName("地环保证金")]
	[ReadOnly(false)]
	[Serializable()]
	public class 地环保证金 : SuperORM.BusinessObject {
		
		/// <summary>内部变量：BSM</summary>
		private int m_BSM;
		
		/// <summary>标示属性BSM是否为空的字段。</summary>
		private bool m_IsBSMNull = true;
		
		/// <summary>内部变量：采矿许可证号</summary>
		private string m_采矿许可证号;
		
		/// <summary>标示属性采矿许可证号是否为空的字段。</summary>
		private bool m_Is采矿许可证号Null = true;
		
		/// <summary>内部变量：矿山名称</summary>
		private string m_矿山名称;
		
		/// <summary>标示属性矿山名称是否为空的字段。</summary>
		private bool m_Is矿山名称Null = true;
		
		/// <summary>内部变量：应缴金额</summary>
		private double m_应缴金额;
		
		/// <summary>标示属性应缴金额是否为空的字段。</summary>
		private bool m_Is应缴金额Null = true;
		
		/// <summary>内部变量：首付款金额</summary>
		private double m_首付款金额;
		
		/// <summary>标示属性首付款金额是否为空的字段。</summary>
		private bool m_Is首付款金额Null = true;
		
		/// <summary>内部变量：首付款收款人</summary>
		private string m_首付款收款人;
		
		/// <summary>标示属性首付款收款人是否为空的字段。</summary>
		private bool m_Is首付款收款人Null = true;
		
		/// <summary>内部变量：首付款收款时间</summary>
		private System.DateTime m_首付款收款时间;
		
		/// <summary>标示属性首付款收款时间是否为空的字段。</summary>
		private bool m_Is首付款收款时间Null = true;
		
		/// <summary>内部变量：二次付款金额</summary>
		private double m_二次付款金额;
		
		/// <summary>标示属性二次付款金额是否为空的字段。</summary>
		private bool m_Is二次付款金额Null = true;
		
		/// <summary>内部变量：二次付款收款人</summary>
		private string m_二次付款收款人;
		
		/// <summary>标示属性二次付款收款人是否为空的字段。</summary>
		private bool m_Is二次付款收款人Null = true;
		
		/// <summary>内部变量：二次付款收款时间</summary>
		private System.DateTime m_二次付款收款时间;
		
		/// <summary>标示属性二次付款收款时间是否为空的字段。</summary>
		private bool m_Is二次付款收款时间Null = true;
		
		/// <summary>内部变量：三次付款金额</summary>
		private double m_三次付款金额;
		
		/// <summary>标示属性三次付款金额是否为空的字段。</summary>
		private bool m_Is三次付款金额Null = true;
		
		/// <summary>内部变量：三次付款收款人</summary>
		private string m_三次付款收款人;
		
		/// <summary>标示属性三次付款收款人是否为空的字段。</summary>
		private bool m_Is三次付款收款人Null = true;
		
		/// <summary>内部变量：三次付款收款时间</summary>
		private System.DateTime m_三次付款收款时间;
		
		/// <summary>标示属性三次付款收款时间是否为空的字段。</summary>
		private bool m_Is三次付款收款时间Null = true;
		
		/// <summary>内部变量：缴存方式</summary>
		private string m_缴存方式;
		
		/// <summary>标示属性缴存方式是否为空的字段。</summary>
		private bool m_Is缴存方式Null = true;
		
		/// <summary>内部变量：备注</summary>
		private string m_备注;
		
		/// <summary>标示属性备注是否为空的字段。</summary>
		private bool m_Is备注Null = true;
		
		/// <summary>内部变量：总期数</summary>
		private int m_总期数;
		
		/// <summary>标示属性总期数是否为空的字段。</summary>
		private bool m_Is总期数Null = true;
		
		/// <summary>内部变量：缴纳批次</summary>
		private int m_缴纳批次;
		
		/// <summary>标示属性缴纳批次是否为空的字段。</summary>
		private bool m_Is缴纳批次Null = true;
		
		/// <summary>内部变量：缴存编号</summary>
		private string m_缴存编号;
		
		/// <summary>标示属性缴存编号是否为空的字段。</summary>
		private bool m_Is缴存编号Null = true;
		
		/// <summary>内部变量：缴存流水号</summary>
		private int m_缴存流水号;
		
		/// <summary>标示属性缴存流水号是否为空的字段。</summary>
		private bool m_Is缴存流水号Null = true;
		
		/// <summary>内部变量：DJ_CK_GUID</summary>
		private string m_DJ_CK_GUID;
		
		/// <summary>标示属性DJ_CK_GUID是否为空的字段。</summary>
		private bool m_IsDJ_CK_GUIDNull = true;
		
		public static string TypeID = "CKQDJK.地环保证金";
		
		/// <summary>属性BSM</summary>
		[Member("BSM", "BSM", true, true, "BSM")]
		[Browsable(true)]
		[DisplayName("BSM")]
		[ReadOnly(false)]
		public int BSM {
			get {
				return this.m_BSM;
			}
			set {
				this.m_BSM = value;
				this.m_IsBSMNull = false;
				if ((this.OnOIDChanged != null)) {
					this.OnOIDChanged(this, null);
				}
			}
		}
		
		/// <summary>属性采矿许可证号</summary>
		[Member("采矿许可证号", "采矿许可证号", "System.String", 23, false, false, "采矿许可证号")]
		[Browsable(true)]
		[DisplayName("采矿许可证号")]
		[ReadOnly(false)]
		public string 采矿许可证号 {
			get {
				return this.m_采矿许可证号;
			}
			set {
				this.m_采矿许可证号 = value;
				this.m_Is采矿许可证号Null = false;
			}
		}
		
		/// <summary>属性矿山名称</summary>
		[Member("矿山名称", "矿山名称", "System.String", 200, false, false, "矿山名称")]
		[Browsable(true)]
		[DisplayName("矿山名称")]
		[ReadOnly(false)]
		public string 矿山名称 {
			get {
				return this.m_矿山名称;
			}
			set {
				this.m_矿山名称 = value;
				this.m_Is矿山名称Null = false;
			}
		}
		
		/// <summary>属性应缴金额</summary>
		[Member("应缴金额", "应缴金额", "System.Double", 8, false, false, "应缴金额")]
		[Browsable(true)]
		[DisplayName("应缴金额")]
		[ReadOnly(false)]
		public double 应缴金额 {
			get {
				return this.m_应缴金额;
			}
			set {
				this.m_应缴金额 = value;
				this.m_Is应缴金额Null = false;
			}
		}
		
		/// <summary>属性首付款金额</summary>
		[Member("首付款金额", "首付款金额", "System.Double", 8, false, false, "首付款金额")]
		[Browsable(true)]
		[DisplayName("首付款金额")]
		[ReadOnly(false)]
		public double 首付款金额 {
			get {
				return this.m_首付款金额;
			}
			set {
				this.m_首付款金额 = value;
				this.m_Is首付款金额Null = false;
			}
		}
		
		/// <summary>属性首付款收款人</summary>
		[Member("首付款收款人", "首付款收款人", "System.String", 20, false, false, "首付款收款人")]
		[Browsable(true)]
		[DisplayName("首付款收款人")]
		[ReadOnly(false)]
		public string 首付款收款人 {
			get {
				return this.m_首付款收款人;
			}
			set {
				this.m_首付款收款人 = value;
				this.m_Is首付款收款人Null = false;
			}
		}
		
		/// <summary>属性首付款收款时间</summary>
		[Member("首付款收款时间", "首付款收款时间", "System.DateTime", 8, false, false, "首付款收款时间")]
		[Browsable(true)]
		[DisplayName("首付款收款时间")]
		[ReadOnly(false)]
		public System.DateTime 首付款收款时间 {
			get {
				return this.m_首付款收款时间;
			}
			set {
				this.m_首付款收款时间 = value;
				this.m_Is首付款收款时间Null = false;
			}
		}
		
		/// <summary>属性二次付款金额</summary>
		[Member("二次付款金额", "二次付款金额", "System.Double", 8, false, false, "二次付款金额")]
		[Browsable(true)]
		[DisplayName("二次付款金额")]
		[ReadOnly(false)]
		public double 二次付款金额 {
			get {
				return this.m_二次付款金额;
			}
			set {
				this.m_二次付款金额 = value;
				this.m_Is二次付款金额Null = false;
			}
		}
		
		/// <summary>属性二次付款收款人</summary>
		[Member("二次付款收款人", "二次付款收款人", "System.String", 20, false, false, "二次付款收款人")]
		[Browsable(true)]
		[DisplayName("二次付款收款人")]
		[ReadOnly(false)]
		public string 二次付款收款人 {
			get {
				return this.m_二次付款收款人;
			}
			set {
				this.m_二次付款收款人 = value;
				this.m_Is二次付款收款人Null = false;
			}
		}
		
		/// <summary>属性二次付款收款时间</summary>
		[Member("二次付款收款时间", "二次付款收款时间", "System.DateTime", 8, false, false, "二次付款收款时间")]
		[Browsable(true)]
		[DisplayName("二次付款收款时间")]
		[ReadOnly(false)]
		public System.DateTime 二次付款收款时间 {
			get {
				return this.m_二次付款收款时间;
			}
			set {
				this.m_二次付款收款时间 = value;
				this.m_Is二次付款收款时间Null = false;
			}
		}
		
		/// <summary>属性三次付款金额</summary>
		[Member("三次付款金额", "三次付款金额", "System.Double", 8, false, false, "三次付款金额")]
		[Browsable(true)]
		[DisplayName("三次付款金额")]
		[ReadOnly(false)]
		public double 三次付款金额 {
			get {
				return this.m_三次付款金额;
			}
			set {
				this.m_三次付款金额 = value;
				this.m_Is三次付款金额Null = false;
			}
		}
		
		/// <summary>属性三次付款收款人</summary>
		[Member("三次付款收款人", "三次付款收款人", "System.String", 20, false, false, "三次付款收款人")]
		[Browsable(true)]
		[DisplayName("三次付款收款人")]
		[ReadOnly(false)]
		public string 三次付款收款人 {
			get {
				return this.m_三次付款收款人;
			}
			set {
				this.m_三次付款收款人 = value;
				this.m_Is三次付款收款人Null = false;
			}
		}
		
		/// <summary>属性三次付款收款时间</summary>
		[Member("三次付款收款时间", "三次付款收款时间", "System.DateTime", 8, false, false, "三次付款收款时间")]
		[Browsable(true)]
		[DisplayName("三次付款收款时间")]
		[ReadOnly(false)]
		public System.DateTime 三次付款收款时间 {
			get {
				return this.m_三次付款收款时间;
			}
			set {
				this.m_三次付款收款时间 = value;
				this.m_Is三次付款收款时间Null = false;
			}
		}
		
		/// <summary>属性缴存方式</summary>
		[Member("缴存方式", "缴存方式", "System.String", 20, false, false, "缴存方式")]
		[Browsable(true)]
		[DisplayName("缴存方式")]
		[ReadOnly(false)]
		public string 缴存方式 {
			get {
				return this.m_缴存方式;
			}
			set {
				this.m_缴存方式 = value;
				this.m_Is缴存方式Null = false;
			}
		}
		
		/// <summary>属性备注</summary>
		[Member("备注", "备注", "System.String", 1000, false, false, "备注")]
		[Browsable(true)]
		[DisplayName("备注")]
		[ReadOnly(false)]
		public string 备注 {
			get {
				return this.m_备注;
			}
			set {
				this.m_备注 = value;
				this.m_Is备注Null = false;
			}
		}
		
		/// <summary>属性总期数</summary>
		[Member("总期数", "总期数", "System.Int32", 4, false, false, "总期数")]
		[Browsable(true)]
		[DisplayName("总期数")]
		[ReadOnly(false)]
		public int 总期数 {
			get {
				return this.m_总期数;
			}
			set {
				this.m_总期数 = value;
				this.m_Is总期数Null = false;
			}
		}
		
		/// <summary>属性缴纳批次</summary>
		[Member("缴纳批次", "缴纳批次", "System.Int32", 4, false, false, "缴纳批次")]
		[Browsable(true)]
		[DisplayName("缴纳批次")]
		[ReadOnly(false)]
		public int 缴纳批次 {
			get {
				return this.m_缴纳批次;
			}
			set {
				this.m_缴纳批次 = value;
				this.m_Is缴纳批次Null = false;
			}
		}
		
		/// <summary>属性缴存编号</summary>
		[Member("缴存编号", "缴存编号", "System.String", 20, false, false, "缴存编号")]
		[Browsable(true)]
		[DisplayName("缴存编号")]
		[ReadOnly(false)]
		public string 缴存编号 {
			get {
				return this.m_缴存编号;
			}
			set {
				this.m_缴存编号 = value;
				this.m_Is缴存编号Null = false;
			}
		}
		
		/// <summary>属性缴存流水号</summary>
		[Member("缴存流水号", "缴存流水号", "System.Int32", 4, false, false, "缴存流水号")]
		[Browsable(true)]
		[DisplayName("缴存流水号")]
		[ReadOnly(false)]
		public int 缴存流水号 {
			get {
				return this.m_缴存流水号;
			}
			set {
				this.m_缴存流水号 = value;
				this.m_Is缴存流水号Null = false;
			}
		}
		
		/// <summary>属性DJ_CK_GUID</summary>
		[Member("DJ_CK_GUID", "DJ_CK_GUID", "System.String", 100, false, false, "DJ_CK_GUID")]
		[Browsable(true)]
		[DisplayName("DJ_CK_GUID")]
		[ReadOnly(false)]
		public string DJ_CK_GUID {
			get {
				return this.m_DJ_CK_GUID;
			}
			set {
				this.m_DJ_CK_GUID = value;
				this.m_IsDJ_CK_GUIDNull = false;
			}
		}
		
		/// <summary>对象ID发生变化的时候触发的事件</summary>
		public event SuperORM.Attributes.OIDChangedHandler OnOIDChanged;
		
		/// <summary>属性改变的时候</summary>
		public event SuperORM.PropertyChangeHandler PropertyChanged;
		
		// 重载的方法，判断两个对象是否相等，判断条件是两个对象的主键值是否相等。
		public override bool Equals(object obj) {
			地环保证金 地环保证金 = ((地环保证金)(obj));
			if ((地环保证金.BSM == this.m_BSM)) {
				return true;
			}
			else {
				return false;
			}
		}
		
		/// <summary>判断某一个属性是否为空</summary>
		public override bool IsNull(string propname) {
			if (propname.Equals("BSM")) {
				return this.m_IsBSMNull;
			}
			if (propname.Equals("采矿许可证号")) {
				return this.m_Is采矿许可证号Null;
			}
			if (propname.Equals("矿山名称")) {
				return this.m_Is矿山名称Null;
			}
			if (propname.Equals("应缴金额")) {
				return this.m_Is应缴金额Null;
			}
			if (propname.Equals("首付款金额")) {
				return this.m_Is首付款金额Null;
			}
			if (propname.Equals("首付款收款人")) {
				return this.m_Is首付款收款人Null;
			}
			if (propname.Equals("首付款收款时间")) {
				return this.m_Is首付款收款时间Null;
			}
			if (propname.Equals("二次付款金额")) {
				return this.m_Is二次付款金额Null;
			}
			if (propname.Equals("二次付款收款人")) {
				return this.m_Is二次付款收款人Null;
			}
			if (propname.Equals("二次付款收款时间")) {
				return this.m_Is二次付款收款时间Null;
			}
			if (propname.Equals("三次付款金额")) {
				return this.m_Is三次付款金额Null;
			}
			if (propname.Equals("三次付款收款人")) {
				return this.m_Is三次付款收款人Null;
			}
			if (propname.Equals("三次付款收款时间")) {
				return this.m_Is三次付款收款时间Null;
			}
			if (propname.Equals("缴存方式")) {
				return this.m_Is缴存方式Null;
			}
			if (propname.Equals("备注")) {
				return this.m_Is备注Null;
			}
			if (propname.Equals("总期数")) {
				return this.m_Is总期数Null;
			}
			if (propname.Equals("缴纳批次")) {
				return this.m_Is缴纳批次Null;
			}
			if (propname.Equals("缴存编号")) {
				return this.m_Is缴存编号Null;
			}
			if (propname.Equals("缴存流水号")) {
				return this.m_Is缴存流水号Null;
			}
			if (propname.Equals("DJ_CK_GUID")) {
				return this.m_IsDJ_CK_GUIDNull;
			}
			return true;
		}
		
		/// <summary>将某个属性设置为空</summary>
		public override void SetNull(string propname) {
			if (propname.Equals("BSM")) {
				this.m_IsBSMNull = true;
				return;
			}
			if (propname.Equals("采矿许可证号")) {
				this.m_Is采矿许可证号Null = true;
				return;
			}
			if (propname.Equals("矿山名称")) {
				this.m_Is矿山名称Null = true;
				return;
			}
			if (propname.Equals("应缴金额")) {
				this.m_Is应缴金额Null = true;
				return;
			}
			if (propname.Equals("首付款金额")) {
				this.m_Is首付款金额Null = true;
				return;
			}
			if (propname.Equals("首付款收款人")) {
				this.m_Is首付款收款人Null = true;
				return;
			}
			if (propname.Equals("首付款收款时间")) {
				this.m_Is首付款收款时间Null = true;
				return;
			}
			if (propname.Equals("二次付款金额")) {
				this.m_Is二次付款金额Null = true;
				return;
			}
			if (propname.Equals("二次付款收款人")) {
				this.m_Is二次付款收款人Null = true;
				return;
			}
			if (propname.Equals("二次付款收款时间")) {
				this.m_Is二次付款收款时间Null = true;
				return;
			}
			if (propname.Equals("三次付款金额")) {
				this.m_Is三次付款金额Null = true;
				return;
			}
			if (propname.Equals("三次付款收款人")) {
				this.m_Is三次付款收款人Null = true;
				return;
			}
			if (propname.Equals("三次付款收款时间")) {
				this.m_Is三次付款收款时间Null = true;
				return;
			}
			if (propname.Equals("缴存方式")) {
				this.m_Is缴存方式Null = true;
				return;
			}
			if (propname.Equals("备注")) {
				this.m_Is备注Null = true;
				return;
			}
			if (propname.Equals("总期数")) {
				this.m_Is总期数Null = true;
				return;
			}
			if (propname.Equals("缴纳批次")) {
				this.m_Is缴纳批次Null = true;
				return;
			}
			if (propname.Equals("缴存编号")) {
				this.m_Is缴存编号Null = true;
				return;
			}
			if (propname.Equals("缴存流水号")) {
				this.m_Is缴存流水号Null = true;
				return;
			}
			if (propname.Equals("DJ_CK_GUID")) {
				this.m_IsDJ_CK_GUIDNull = true;
				return;
			}
		}
	}
}
